package com.ssy.lingxi.member.merchant.entity;

import javax.persistence.*;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 会员整改内部单据流转历史记录
 * @author yzc
 * @version 2.0.0
 * @date 2021/6/3
 */
@Entity
@Table(schema = "public", name = "ms_mc_member_rectify_inner_history",
        indexes = {@Index(name = "ms_mc_member_rectify_inner_history_member_id_idx", columnList = "memberId"),
                @Index(name = "ms_mc_member_rectify_inner_history_role_id_idx", columnList = "roleId"),
                @Index(name = "ms_mc_member_rectify_inner_history_sub_member_id_idx", columnList = "subMemberId"),
                @Index(name = "ms_mc_member_rectify_inner_history_sub_role_id_idx", columnList = "subRoleId")})
public class MemberRectifyInnerHistoryDO implements Serializable {
    private static final long serialVersionUID = -4225582254448173225L;

    /**
     * 记录Id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "member_rectify_inner_history_seq")
    @SequenceGenerator(sequenceName = "ms_mc_member_rectify_inner_history_seq", name = "member_rectify_inner_history_seq", allocationSize = 1)
    private Long id;

    /**
     * 整改id
     */
    @Column
    private Long rectifyId;

    /**
     * 操作时间
     */
    @Column(columnDefinition = "timestamp")
    private LocalDateTime createTime;

    /**
     * 上级会员Id
     */
    @Column(columnDefinition = "int8")
    private Long memberId;

    /**
     * 上级会员名称
     */
    @Column(columnDefinition = "varchar(200)")
    private String memberName;

    /**
     * 上级会员角色Id
     */
    @Column(columnDefinition = "int8")
    private Long roleId;

    /**
     * 下级会员Id
     */
    @Column(columnDefinition = "int8")
    private Long subMemberId;

    /**
     * 下级角色Id
     */
    @Column(columnDefinition = "int8")
    private Long subRoleId;

    /**
     * 上级会员角色名称
     */
    @Column(columnDefinition = "varchar(50)")
    private String roleName;

    /**
     * 操作人员用户Id
     */
    @Column(columnDefinition = "int8")
    private Long operatorId;

    /**
     * 操作人员姓名
     */
    @Column(columnDefinition = "varchar(50)")
    private String operatorName;

    /**
     * 操作员角色名称
     */
    @Column(columnDefinition = "varchar(50)")
    private String operatorRoleName;

    /**
     * 操作人员组织机构名称
     */
    @Column(columnDefinition = "varchar(40)")
    private String operatorOrgName;

    /**
     * 操作人员职位
     */
    @Column(columnDefinition = "varchar(40)")
    private String operatorJobTitle;

    /**
     * 操作方法
     */
    @Column(columnDefinition = "varchar(20)")
    private String operation;

    /**
     * 会员考评内部状态
     */
    @Column(columnDefinition = "int2")
    private Integer innerStatus;

    /**
     * 内部状态描述
     */
    @Column(columnDefinition = "varchar(30)")
    private String innerStatusName;

    /**
     * 会员考评外部状态
     */
    @Column(columnDefinition = "int2")
    private Integer outerStatus;

    /**
     * 外部状态描述
     */
    @Column(columnDefinition = "varchar(30)")
    private String outerStatusName;

    /**
     * 操作说明
     */
    @Column(columnDefinition = "varchar(400)")
    private String remark;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getRectifyId() {
        return rectifyId;
    }

    public void setRectifyId(Long rectifyId) {
        this.rectifyId = rectifyId;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public Long getSubMemberId() {
        return subMemberId;
    }

    public void setSubMemberId(Long subMemberId) {
        this.subMemberId = subMemberId;
    }

    public Long getSubRoleId() {
        return subRoleId;
    }

    public void setSubRoleId(Long subRoleId) {
        this.subRoleId = subRoleId;
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public Long getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(Long operatorId) {
        this.operatorId = operatorId;
    }

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }

    public String getOperatorRoleName() {
        return operatorRoleName;
    }

    public void setOperatorRoleName(String operatorRoleName) {
        this.operatorRoleName = operatorRoleName;
    }

    public String getOperatorOrgName() {
        return operatorOrgName;
    }

    public void setOperatorOrgName(String operatorOrgName) {
        this.operatorOrgName = operatorOrgName;
    }

    public String getOperatorJobTitle() {
        return operatorJobTitle;
    }

    public void setOperatorJobTitle(String operatorJobTitle) {
        this.operatorJobTitle = operatorJobTitle;
    }

    public String getOperation() {
        return operation;
    }

    public void setOperation(String operation) {
        this.operation = operation;
    }

    public Integer getInnerStatus() {
        return innerStatus;
    }

    public void setInnerStatus(Integer innerStatus) {
        this.innerStatus = innerStatus;
    }

    public String getInnerStatusName() {
        return innerStatusName;
    }

    public void setInnerStatusName(String innerStatusName) {
        this.innerStatusName = innerStatusName;
    }

    public Integer getOuterStatus() {
        return outerStatus;
    }

    public void setOuterStatus(Integer outerStatus) {
        this.outerStatus = outerStatus;
    }

    public String getOuterStatusName() {
        return outerStatusName;
    }

    public void setOuterStatusName(String outerStatusName) {
        this.outerStatusName = outerStatusName;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
}
